import request from "@/utils/request";
import { praseStrEmpty } from "@/utils";

// 查询用户列表
export function listUser(query) {
  return request({
    url: "/sysUser/page",
    method: "get",
    data: query,
  });
}
// 查询用户列表
export function deptIdlistUser(query) {
  return request({
    url: "/sysDepartment/SysUserPage",
    method: "get",
    data: query,
  });
}
// 查询用户详细
export function getUser(userId) {
  return request({
    url: "/system/user/" + praseStrEmpty(userId),
    method: "get",
  });
}

// 新增用户
export function addUser(data) {
  return request({
    url: "/system/user",
    method: "post",
    data: data,
  });
}

// 修改用户
export function updateUser(data) {
  return request({
    url: "/system/user",
    method: "put",
    data: data,
  });
}

// 删除用户
export function delUser(userId) {
  return request({
    url: "/system/user/" + userId,
    method: "delete",
  });
}

// 用户密码重置
export function resetUserPwd(userId, password) {
  const data = {
    userId,
    password,
  };
  return request({
    url: "/system/user/resetPwd",
    method: "put",
    data: data,
  });
}

// 用户状态修改
export function changeUserStatus(userId, status) {
  const data = {
    userId,
    status,
  };
  return request({
    url: "/system/user/changeStatus",
    method: "put",
    data: data,
  });
}

// 查询用户个人信息
export function getUserProfile() {
  return request({
    url: "/system/user/profile",
    method: "get",
  });
}

// 修改用户个人信息
export function updateUserProfile(data) {
  return request({
    url: "/system/user/profile",
    method: "put",
    data: data,
  });
}
// 修改用户签名
export function updatesignPath(data) {
  return request({
    url: "/system/user/editSignPath",
    method: "put",
    data: data,
  });
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
  const data = {
    oldPassword,
    newPassword,
  };
  return request({
    url: "/system/user/profile/updatePwd",
    method: "put",
    data: data,
  });
}

// 用户头像上传
export function uploadAvatar(data) {
  return request({
    url: "/system/user/profile/avatar",
    method: "post",
    data: data,
  });
}

// 查询授权角色
export function getAuthRole(userId) {
  return request({
    url: "/system/user/authRole/" + userId,
    method: "get",
  });
}

// 保存授权角色
export function updateAuthRole(data) {
  return request({
    url: "/system/user/authRole",
    method: "put",
    data: data,
  });
}
// 查询目录列表
export function getMenuList() {
  return request({
    url: "/system/contents/list",
    method: "get",
  });
}
// 资源管理--资源列表--获取位置列表
export function getLocation(data) {
  return request({
    url: "/system/service/location/list",
    method: "get",
  });
}
// 新增目录
export function addMenu(data) {
  return request({
    url: "/system/contents",
    method: "post",
    data: data,
  });
}
// 编辑目录
export function editMenu(data) {
  return request({
    url: "/system/contents",
    method: "put",
    data: data,
  });
}
// 删除目录
export function deleteMenu(id) {
  return request({
    url: "/system/contents/" + id,
    method: "delete",
  });
}
// 关联地图服务--获取所有数据
export function getLinkList(data) {
  return request({
    url: "/system/service/list?isContent=-1",
    method: "get",
  });
}
// 关联地图服务--已关联数据
export function getLinkData(data) {
  return request({
    url: "/system/contents/attachList/" + data,
    method: "get",
  });
}
// 关联地图服务--保存关联数据
export function postLinkData(id, ids) {
  return request({
    url: "/ContentService/service/batchAdd/" + id + "/" + ids,
    method: "post",
  });
}
// gis服务器--左侧目录列表
export function getServiceList() {
  return request({
    url: "/system/server/list",
    method: "get",
  });
}
// gis服务器--右侧服务列表
export function getServiceData(query) {
  return request({
    url: "/system/service/list",
    method: "get",
    data: query,
  });
}
// gis服务器--增加服务器
export function postService(data) {
  return request({
    url: "/system/server",
    method: "post",
    data: data,
  });
}
// 用户管理导出
export function userExport() {
  return request({
    url: "/system/user/export",
    method: "post",
    responseType: "blob",
  });
}
// 用户管理下载模板
export function userdownload() {
  return request({
    url: "system/user/importTemplate",
    method: "post",
    responseType: "blob",
  });
}
